package com.bzkj.quality.service;

import com.bzkj.common.core.domain.AjaxResult;
import com.bzkj.quality.domain.QmsCheckDTO;
import com.bzkj.quality.domain.QmsMaterialInfo;

import java.util.Map;


/**
 * @projectName: bzkj-wms
 * @package: com.bzkj.inventory.service
 * @className: QMSService
 * @description: QMS系统对接服务层接口
 * @author: C1309
 * @createDate: 2024年11月07日
 * @version: v1.0
 */
public interface QmsService {
    /**
     * 创建QMS请验单
     *
     * @param qmsCheckDTO 请验单提交数据
     * @return 结果
     */
    AjaxResult createQmsCheckInForm(QmsCheckDTO qmsCheckDTO);

    /**
     * 获取物料信息
     *
     * @param billCode    单据号
     * @param cgeneralbid 表体主键
     * @param modeType    模式类型(0:请验 1:复验)
     * @return 查询结果
     */
    QmsMaterialInfo getMaterialInfo(String billCode, String cgeneralbid, int modeType);

    /**
     * 复验期获取基础数据
     *
     * @param vbillcode   单据号
     * @param pkMaterial  物料主键
     * @param pkBatchcode 物料批次主键
     * @param vbatchcode  批次
     * @return 基础信息
     */
    Map<String, String> reInspection(String vbillcode, String pkMaterial, String pkBatchcode, String vbatchcode);

    /**
     * 期初库存复验获取基础数据
     * @param id 库存ID
     * @return 基础信息
     */
    QmsMaterialInfo reInspectionChenChen(String id);
}
